home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-iplpdn-simple-multi-00.txt < prev    next >
Text File  |  1993-07-08  |  26KB  |  747 lines

  1.  
  2.  
  3.  
  4.  
  5. Draft                 Simple Multilink             June 1993
  6.  
  7.  
  8. INTERNET DRAFT
  9. Expires: December 31st, 1993
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.        A Simple Multilink Protocol for Synchronizing
  18.        the Transmission of Multi-protocol Datagrams.
  19.  
  20.  
  21. Keith Sklower
  22. Computer Science Department
  23. University of California, Berkeley
  24.  
  25. 1.  Status of This Memo
  26.  
  27. This  document  is  an  Internet Draft.  Internet Drafts are
  28. working documents of the  Internet  Engineering  Task  Force
  29. (IETF),  its Areas, and its Working Groups.  Note that other
  30. groups may also distribute  working  documents  as  Internet
  31. Drafts.
  32.  
  33. Internet  Drafts  are draft documents valid for a maximum of
  34. six months.  Internet Drafts may be  updated,  replaced,  or
  35. obsoleted  by other documents at any time.  It is not appro-
  36. priate to use Internet Drafts as reference  material  or  to
  37. cite  them  other  than  as a ``working draft'' or ``work in
  38. progress.''
  39.  
  40. Please check the 1id-abstracts.txt listing contained in  the
  41. internet-drafts    Shadow    Directories   on   nic.ddn.mil,
  42. nnsc.nsf.net,    nic.nordu.net,     ftp.nisc.sri.com,     or
  43. munnari.oz.au  to  learn  the current status of any Internet
  44. Draft.
  45.  
  46. 2.  Abstract
  47.  
  48. This document proposes a method for splitting and  recombin-
  49. ing  datagrams  across  multiple  logical  data links.  Such
  50. facilities  are  desirable  to  exploit  the  potential  for
  51. increased  bandwidth  offered by multiple bearer channels in
  52. ISDN, yet to do so in such away that minimizes reordering of
  53. packets.
  54.  
  55. More  precisely,  modifications  to RFC1294[4] are proposed,
  56. and new PPP[2] options and protocols are suggested.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. Sklower                                     [Page 1]
  64.  
  65.  
  66.  
  67. Draft                 Simple Multilink             June 1993
  68.  
  69.  
  70. 3.  Acknowledgements
  71.  
  72. The author specifically wishes to thank Brian Lloyd of Lloyd
  73. &  Associates,  Fred Baker of ACC, Craig Fox of Network Sys-
  74. tems, Gerry Meyer of Spider Systems, and the members of  the
  75. IP  over Large Public Data Networks and PPP extensions work-
  76. ing groups, for much useful discussion on the subject.
  77.  
  78. 4.  Conventions
  79.  
  80. The following language conventions are used in the items  of
  81. specification in this document:
  82.  
  83. o    Must,  Shall  or  Mandatory  -- the item is an absolute
  84.      requirement of the specification.
  85.  
  86. o    Should or Recommended -- the item should  generally  be
  87.      followed for all but exceptional circumstances.
  88.  
  89. o    May  or  Optional -- the item is truly optional and may
  90.      be followed or ignored according to the  needs  of  the
  91.      implementor.
  92.  
  93. 5.  Introduction
  94.  
  95. Basic  Rate and Primary Rate ISDN both offer the possibility
  96. of opening multiple simultaneous channels  between  systems,
  97. giving  users additional bandwidth on demand (for additional
  98. cost).  Previous proposals for the transmission of  internet
  99. protocols  over  ISDN  have  stated as a goal the ability to
  100. make use of this capability, (e.g. Leifer et al. [1]).
  101.  
  102. There  are  proposals  being  advanced   by   communications
  103. providers  for  providing  synchronization  between multiple
  104. streams at the bit level;  such  features  are  not  as  yet
  105. widely  deployed  and  it  may  be useful to have a software
  106. solution as what may prove to be a stopgap measure.
  107.  
  108. Furthermore, even if the ISDN  service  providers  guarantee
  109. bit-synchronization  between  different  switched  circuits,
  110. there may not be sufficiently flexible hardware  to  combine
  111. the  multiple  bit streams in arbitrary orders for HDLC bit-
  112. unstuffing.
  113.  
  114. There are other instances where bandwidth on demand  can  be
  115. exploited,  such  as  opening  additional X.25 SVC where the
  116. window size is limited to two by international agreement.
  117.  
  118. The simplest  possible  algorithms  of  alternating  packets
  119. between  channels on a space available basis (which might be
  120. called the Bank Teller's  algorithm)  may  have  undesirable
  121. side effects due to reordering of packets.
  122.  
  123.  
  124.  
  125. Sklower                                     [Page 2]
  126.  
  127.  
  128.  
  129. Draft                 Simple Multilink             June 1993
  130.  
  131.  
  132. By relaxing some requirements of the packet segmentation and
  133. reassembly algorithm described in RFC1294,  and  introducing
  134. only  a  modest  amount more complexity into implementations
  135. supporting it, one can split packets amongst  parallel  vir-
  136. tual  circuits between systems in such a way that packets do
  137. not become reordered, or at least the likelihood of this  is
  138. greatly reduced.
  139.  
  140. The method discussed here is similar to the multilink proto-
  141. col described in ISO 7776, but offers the additional ability
  142. to  split  and  recombine packets, thereby reducing latency.
  143. Furthermore, there is no requirement here for  acknowledged-
  144. mode  operation  on the link layer, although that is option-
  145. ally permitted.
  146.  
  147. Any method for  bandwidth  aggregation  would  require  some
  148. means  of  identifying  which channels are to participate in
  149. such a process.  This could be achieved specifically in  the
  150. case  of  ISDN  by use of the calling party information ele-
  151. ment, but more generally by methods discussed in  the  draft
  152. ``Protocol  Negotiation for the Multiprotocol Interconnect''
  153. (PNMI[7]), such as by using PPP's  authentication  protocols
  154. [3].  For Frame Relay run over dedicated channels, some sort
  155. of manual configuration could suffice.
  156.  
  157. 6.  Generic Description
  158.  
  159. 6.1.  Packet Formats
  160.  
  161. As stated above, the concept is to use the packet  segmenta-
  162. tion/reassembly formats defined in RFC1294, but to allow the
  163. fragments to be transmitted over multiple  virtual  circuits
  164. (or potentially multiple physical links).  We'll refresh the
  165. reader's memory by shamelessly paraphrasing the  section  on
  166. segmentation from that RFC:
  167.  
  168. Packet  fragments  may  be  thought  of as a special type of
  169. bridged packets, for a  fictitious  type  of  media.   Large
  170. packets  are  first encapsulated according to normal RFC1294
  171. procedures, and then are  broken  up  into  multiple  frames
  172. sized appropriately for the multiple physical links and each
  173. section is appended to a bridged packet header followed by a
  174. fragmentation header.  (Thus the first fragment of an packet
  175. in RFC1294 will have two headers, one for the fragment, fol-
  176. lowed by the header for the packet itself).
  177.  
  178. Within  RFC1294  fragments  are  encapsulated using the SNAP
  179. format with an OUI of  0x00-80-C2  and  a  PID  of  0x00-0D.
  180. Individual  fragments  will,  therefore,  have the following
  181. format:
  182.  
  183.  
  184.  
  185.  
  186.  
  187. Sklower                                     [Page 3]
  188.  
  189.  
  190.  
  191. Draft                 Simple Multilink             June 1993
  192.  
  193.  
  194.    Figure 1:  Fragment format for RFC1294
  195.  
  196.  
  197.         +---------------+---------------+
  198.         |         Q.922 Address         |
  199.         +---------------+---------------+
  200.         | Control 0x03  | pad     0x00  |
  201.         +---------------+---------------+
  202.         | NLPID   0x80  | OUI     0x00  |
  203.         +---------------+---------------+
  204.         | OUI                  0x80-C2  |
  205.         +---------------+---------------+
  206.         | PID                  0x00-0D  |
  207.         +---------------+---------------+
  208.         |        sequence number        |
  209.         +-+-+-+-+-+-----+---------------+
  210.         |F|  MBZ  |offset               |
  211.         +-+-------+-----+---------------+
  212.         |    fragment data              |
  213.         |               .               |
  214.         |               .               |
  215.         |               .               |
  216.         +---------------+---------------+
  217.         |              FCS              |
  218.         +---------------+---------------+
  219.  
  220. The sequence field is a two octet identifier that is  incre-
  221. mented  every time a new complete message is fragmented.  It
  222. allows detection of lost frames and is set to a random value
  223. at initialization.
  224.  
  225. The offset field is an 11 bit value representing the logical
  226. offset of this fragment in bytes divided by  32.  The  first
  227. fragment must have an offset of zero.
  228.  
  229. The  (F)inal  bit  is  a  one bit field set to 1 on the last
  230. fragment and set to 0 for all other fragments.
  231.  
  232. The reserved field is 4  bits  long  and  is  not  currently
  233. defined.  It must be set to 0.
  234.  
  235. In  RFC1294,  a  separate and single reassembly structure is
  236. associated with each virtual circuit, and the sequence  num-
  237. ber  is interpreted only in the context of that virtual cir-
  238. cuit.
  239.  
  240. By contrast, we propose having a reassembly  structure  that
  241. is  associated  with  a  group  of virtual circuits and that
  242. sequence number then be interpreted in the  context  of  the
  243. group.
  244.  
  245.  
  246.  
  247.  
  248.  
  249. Sklower                                     [Page 4]
  250.  
  251.  
  252.  
  253. Draft                 Simple Multilink             June 1993
  254.  
  255.  
  256. 6.2.  Trading Buffer Space Against Fragment Loss
  257.  
  258. In  the RFC1294 segmentation procedure, where fragments must
  259. arrive in sequence and only on one circuit, it  is  easy  to
  260. determine the amount of buffer space required for reassembly
  261. and easy to recognize when loss has occurred.  In  a  multi-
  262. link  procedure,  where  one  channel  may  be  delayed with
  263. respect to the other channel, fragments are may  not  arrive
  264. in  the  same sequence they left the sender.  So, it is more
  265. difficult to determine that a fragment has  been  lost,  and
  266. more  difficult  to  estimate  the  amount  of  buffer space
  267. required.
  268.  
  269. However, in any case the sender MUST transmit fragments with
  270. non-decreasing sequence numbers over any constituent circuit
  271. in a multilink arrangement.  In this section  we  present  a
  272. default  strategy  for  minimizing the buffer space required
  273. for retaining enough fragments to determine that a  fragment
  274. has been lost.
  275.  
  276. 6.2.1.  Sender-Simple Reassembly
  277.  
  278. The idea is that the receiver should keep track of the mini-
  279. mum of the sequence numbers of all fragments received on all
  280. channels  participating  in  the  multilink procedure. (Call
  281. this M).  Every time M advances, one can discard all  incom-
  282. plete packets with sequence number less than M.
  283.  
  284. The  sender  should  transmit a null fragment increasing the
  285. sequence number for each channel when  the  queue  for  each
  286. physical  link  becomes  empty;  otherwise the receiver will
  287. stall until new packets arrive.
  288.  
  289. The amount of buffering required to guarantee correct recog-
  290. nition  of  fragment  lost  depends  on  the  relative delay
  291. between the channels (D[c1,c2]), the number of channels par-
  292. ticipating  (say N), the data rate of each channel R[c], the
  293. fragment size (f) and the  maximum  permissible  reassembled
  294. size  (M).   When using PPP or PNMI, the delay between chan-
  295. nels can be determined by LCP echo request  and  echo  reply
  296. packets.
  297.  
  298. In  the  common  case where the data rates are the same, one
  299. could define for each channel, its slippage to be the  band-
  300. width times the delay for that channel relative to the slow-
  301. est, S[c] = R[c] * D[c, c-worst].   Given  these  conditions
  302. having  buffer  space  of N*(M-f) + S[1] + S[2] + ... + S[n]
  303. should be sufficient to insure that you have not have  erro-
  304. neously thrown away an incomplete packet before its complet-
  305. ing fragment arrives.
  306.  
  307.  
  308.  
  309.  
  310.  
  311. Sklower                                     [Page 5]
  312.  
  313.  
  314.  
  315. Draft                 Simple Multilink             June 1993
  316.  
  317.  
  318. 6.2.2.  Other Reassembly Schemes
  319.  
  320. As this was intended to be a simple fragmentation/reassembly
  321. protocol,  we'll  just  mention that it would be possible to
  322. have a more-elaborate timer and/or buffer size based  imple-
  323. mentations  (like the tradition IP reassembly queues in end-
  324. system implementations), but we'll leave that to more  ambi-
  325. tious future extensions.
  326.  
  327. 7.  PPP
  328.  
  329. The  Point-to-Point  Protocol  (PPP) [5] provides a standard
  330. method of encapsulating Network Layer  protocol  information
  331. over (virtual) point-to-point links.
  332.  
  333. PPP has four main components:
  334.  
  335. 1.   A method for encapsulating datagrams over serial links.
  336.  
  337. 2.   A Link Control Protocol (LCP) for establishing, config-
  338.      uring, and testing the data-link connection.
  339.  
  340. 3.   A family of Network Control Protocols (NCPs) for estab-
  341.      lishing and configuring different network-layer  proto-
  342.      cols.
  343.  
  344. 4.   A family of Network-Layer Protocols (NPs) which are the
  345.      classes of data to be transmitted themselves.
  346.  
  347. 7.1.  Crude Description of Overall Intent
  348.  
  349. In order to establish communications over  a  point-to-point
  350. link,  each  end of the PPP link must first send LCP packets
  351. to configure the data link during Link Establishment  phase.
  352. After  the  link  has  been established, PPP provides for an
  353. Authentication phase before proceeding to the  Network-Layer
  354. Protocol  phase.  Since the idea is to ``tie together'' mul-
  355. tiple circuits between a fixed pair of  systems,  and  since
  356. both  of the current PPP authentication protocols permit the
  357. side effect of assigning identifiers to   both  systems,  it
  358. makes  sense  to  require the use of one or the other of the
  359. existing authentication protocols (or any future authentica-
  360. tion protocol that assigns unique identifiers to communicat-
  361. ing systems)
  362.  
  363. We suggest that multilink operation can be modeled as a sep-
  364. arate PPP Network-Layer protocol with its own control proto-
  365. col, which may be negotiated in the  usual  PPP  manner.   A
  366. slightly unusually (for PPP) convention might be that if the
  367. PPP-Simple Multilink (network-layer) Protocol were  proposed
  368. and  accepted  in  both  directions between systems that had
  369. previously concluded all NCP negotiations  on  another  cir-
  370. cuit,  that  the  new circuit ``inherit'' the results of the
  371.  
  372.  
  373. Sklower                                     [Page 6]
  374.  
  375.  
  376.  
  377. Draft                 Simple Multilink             June 1993
  378.  
  379.  
  380. previous negotiation.  and that both the old and new circuit
  381. would then be combined into a single logical channel.
  382.  
  383. To  construct  the  (network  layer) packets (themselves) in
  384. this new ``protocol'' one would start with  a  complete  PPP
  385. packet,  prune  the  leading HDLC address and UI designation
  386. bytes, divide it into roughly equal parts, and to each  sec-
  387. tion  prepend  the  usual  PPP control header followed by an
  388. RFC1294 fragmentation header.
  389.  
  390. An issue that was  raised  was  whether  fragmented  packets
  391. could  be  reassembled  and  released  in sequence, which is
  392. required by some network protocols such as  VJ  header  com-
  393. pression  for  TCP/IP.   Fred  Baker  also  gave the example
  394. reconstructing the data dictionary when  more  general  com-
  395. pression methods were in use.  One could negotiate a guaran-
  396. tee of this based on the  sequence  number  in  the  RFC1294
  397. fragmentation header, agreeing not to release packets out of
  398. sequence order, but that would require that delivery  across
  399. the individual subchannels was reliable.
  400.  
  401. However,  even in the face of unreliable delivery, it is the
  402. guess of the author of this modest proposal  that  following
  403. the  method  described  above  of merely maintaining as many
  404. reassembly queues as there are physical  channels,  and  not
  405. beginning the transmission of packet N+G until all fragments
  406. of packet N were known to  have  been  sent  should  provide
  407. sequenced delivery in most cases.
  408.  
  409. 7.2.    More   detailed   description   of   the   ``Network
  410. Protocol''
  411.  
  412. In our description here, we will need to make use of a  PPP,
  413. 16-bit  network  protocol  identifier.  Just for the sake of
  414. ease of description we will choose the numbers 0x3b to  rep-
  415. resent  the  proposed  fragmentation  network  protocol  and
  416. 0x803b to  represent  the  corresponding  control  protocol.
  417. These numbers will clearly need to be reassigned should this
  418. proposal be accepted.
  419.  
  420. Individual fragments will thus be encoded in a  PPP  context
  421. according to the following format:
  422.  
  423.             Figure 2: Fragment format for PPP
  424.  
  425.  0                   1                   2                   3
  426.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  427. +-+-+-+-+-+-+-+-+
  428. |   HDLC FLAG   |
  429. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  430. |      0xFF     |      0x03     |      0x00     |      0x3b     +
  431. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  432. |       Sequence Number         |F|  RSVD |       Offset        +
  433.  
  434.  
  435. Sklower                                     [Page 7]
  436.  
  437.  
  438.  
  439. Draft                 Simple Multilink             June 1993
  440.  
  441.  
  442. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  443. | fragment data |     .....     |  .....        |   .....       +
  444. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  445.  
  446.  
  447.  
  448. The  descriptions of the fields are exactly the same as they
  449. are for  RFC1294: a 16 bit sequence  number,  a  single  bit
  450. representing  the  completing fragment, offset understood to
  451. be multiplied by 32.
  452.  
  453. The execution of the protocol itself is exactly as specified
  454. above.
  455.  
  456. 7.3.  Fragmentation Protocol Control Protocol
  457.  
  458. [Here, we equally shamelessly plagiarize RFC1220]
  459. The  Fragmentation  Protocol Control Protocol is responsible
  460. for establishing agreement to initiate multilink  operation,
  461. and  for  setting  a  limited  number  of parameters.  It is
  462. exactly the same as the Point-to-Point Link Control Protocol
  463. [2],  with the following exceptions:
  464.  
  465. Data Link Layer Protocol Field
  466.      Exactly  one  Fragmentation  Protocol  Control Protocol
  467.      packet is encapsulated in the Information field of  PPP
  468.      Data  Link  Layer frames where the Protocol field indi-
  469.      cates type hex 803b.  [to be reassigned appropriately]
  470.  
  471. Code field
  472.      Only Codes 1 through 7  (Configure-Request,  Configure-
  473.      Ack,    Configure-Nak,   Configure-Reject,   Terminate-
  474.      Request, Terminate-Ack and Code-Reject are used.  Other
  475.      Codes  should  be  treated  as  unrecognized and should
  476.      result in Code-Rejects.
  477.  
  478. Precedence
  479.      FPCP packets may not be exchanged until the  Link  Con-
  480.      trol  Protocol  has  reached the network-layer Protocol
  481.      Configuration Negotiation  phase  (i.e.  Authentication
  482.      and Link Negotiation have concluded).  The FPCP negoti-
  483.      ation must precede any other network protocol  negotia-
  484.      tion.
  485.  
  486. Configuration Option Types
  487.      The Fragmentation Protocol Control Protocol has a sepa-
  488.      rate set of Configuration Options.   These  permit  the
  489.      negotiation of the following items:
  490.  
  491.      o  Sequenced Delivery
  492.      o  Reset on Loss
  493.      o  Maximum Received Reconstructed Unit
  494.      o  Maximum Received Completed Sequence (Prior to Loss)
  495.  
  496.  
  497. Sklower                                     [Page 8]
  498.  
  499.  
  500.  
  501. Draft                 Simple Multilink             June 1993
  502.  
  503.  
  504. [The  author  of  this proposal realizes the title of it was
  505. the  ***SIMPLE***  multilink  protocol,  and  would  not  be
  506. gravely  disappointed if none of the options were permitted,
  507. but is enumerating them here merely for completeness' sake.]
  508.  
  509. 7.3.1.  Sequenced Delivery Option
  510.  
  511.           Figure 3: Sequenced Delivery Option
  512.  
  513.             0                   1
  514.             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  515.            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  516.            |     type=1    |  length = 2   |
  517.            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  518.  
  519.  
  520. This option requests the system at the other end of the link
  521. not to deliver packets out of sequence.  In the  absence  of
  522. reliable delivery, a missing fragment in the packet number N
  523. would delay the delay the  delivery  of  packet  number  N+1
  524. until receipt of any fragment for packet N+G, where G is the
  525. number of channels participating in the multilink procedure.
  526.  
  527. 7.3.2.  Reset on Loss
  528.  
  529.           Figure 4: Reset on Loss Option
  530.  
  531.             0                   1
  532.             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  533.            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  534.            |     type=2    |  length = 2   |
  535.            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  536.  
  537.  
  538. This option requests the system at the other end of the link
  539. to, upon detection of the loss of a fragment,  re-enter  the
  540. fragmentation-control-negotiation phase.
  541.  
  542. 7.3.3.  Maximum Receive Reconstructed Unit
  543.  
  544.         Figure 5:  Maximum Receive Reconstructed Unit Option
  545.  
  546.  0                   1                   2                   3
  547.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  548. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  549. |     type=3    |  length = 4   | Number of Component Fragments |
  550. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  551.  
  552.  
  553. This option advises the peer that the implementation will be
  554. able to reconstruct a datagram consisting of  the  specified
  555. number of fragments.  Thus the maximum reconstructed size in
  556. bytes will be the  product  of  the  number  of  constituent
  557.  
  558.  
  559. Sklower                                     [Page 9]
  560.  
  561.  
  562.  
  563. Draft                 Simple Multilink             June 1993
  564.  
  565.  
  566. number  of  fragments  and  the  difference between the size
  567. negotiated by the LCP MRU option subtracted by the  fragmen-
  568. tation header size.
  569.  
  570. 7.3.4.  Maximum Received Completed Sequence
  571.  
  572.         Figure 5:  Maximum Received Sequence Number
  573.  
  574.  0                   1                   2                   3
  575.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  576. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  577. |     type=4    |  length = 4   |       Sequence Number         |
  578. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  579.  
  580.  
  581. This  option  is  used after an implementation reenters FPCP
  582. after detecting a fragment loss.   The  sequence  number  is
  583. that  of the last complete datagram successfully reassembled
  584. prior to the detection of the loss.
  585.  
  586. 7.4.  Synchronization
  587.  
  588. When sequenced delivery is in effect, there are issues about
  589. signaling  loss,  and  graceful termination of a constituent
  590. link among several in a group, if  it  has  been  determined
  591. that the additional bandwidth is no longer needed.
  592.  
  593. We  propose  a  mechanism that can be use for both purposes.
  594. Any time that FPCP has been successfully completed,  on  any
  595. constituent link, an implementation may send a FPCP configu-
  596. ration request including the  ``Maximum  Received  Completed
  597. Sequence''  (MRCS) option.  The implementation must not send
  598. any further fragmentation packets until both sides have sent
  599. and received configure-ack packets control packets.
  600.  
  601. Upon  receipt  of  a  config-request with a MRCS option, the
  602. peer implementation must eventually reply with either a con-
  603. fig-request including the MRCS option, or a config-ack.  The
  604. peer may also delay send the ack up to twice the round  trip
  605. delay time.  The peer must not begin transmitting fragmenta-
  606. tion packets over the constituent link until the  initiating
  607. implementation  sends a config-ack.  Both the implementation
  608. and its peer may continue sending traffic on the other  par-
  609. ticipating links in the group however.
  610.  
  611. If  the constituent link is to be closed, each peer may send
  612. terminate-request packets after verifying that all fragments
  613. transmitted prior to dropping back into control protcol mode
  614. had been received.
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621. Sklower                                    [Page 10]
  622.  
  623.  
  624.  
  625. Draft                 Simple Multilink             June 1993
  626.  
  627.  
  628. 8.  RFC 1294/B-Channel Frame Relay
  629.  
  630. The packet formats for  the  native  fragmentation  protocol
  631. remain  unchanged.   However, the encapsulation for the Con-
  632. trol Protocol relies on PPP  control  packet  formats.   PPP
  633. control  packets may be transmitted in a way compatible with
  634. RFC 1294 by SNAP encapsulation.  This  is  detailed  in  the
  635. PNMI draft [7].
  636.  
  637. 9.  RFC 1356/B-Channel X.25
  638.  
  639. RFC1356  can transmit packet formats found in RFC1294 either
  640. by specifying an NLPID of 0 in the  Call  User  Data  or  by
  641. placing  a  common  SNAP  header  in the Call User Data, and
  642. omitting that initial segment on  all  packets  subsequently
  643. transmitted over that virtual circuit.  In the case of NLPID
  644. 0, an in-band negotiation could be used to identify  members
  645. of a reassembly group by use of the proposed parameter nego-
  646. tiation over the multiprotocol interconnect.
  647.  
  648. If one is willing to settle for external  manual  configura-
  649. tion,  as  the  RFC1294 fragmentation procedure employs SNAP
  650. encapsulated packets, one could open an X.25 virtual circuit
  651. with  the  fixed SNAP portion of the fragmentation header in
  652. the Call User Data, and with the reassembly group defined to
  653. be  all  virtual  circuits  having  the  same  X.121 calling
  654. address.
  655.  
  656. 10.  References
  657.  
  658. [1]  Leifer, D., Sheldon, S., and Gorsline B., "A Subnetwork
  659.      Control  Protocol  for  ISDN  Circuit-Switching" IPLPDN
  660.      Working Group, Internet Draft (Expired), March 1991.
  661.  
  662. [2]  Simpson, W., "The Point-to-Point Protocol (PPP) for the
  663.      Transmission of Multi-protocol Datagrams over Point-to-
  664.      Point Links",  Network  Working  Group,  RFC-1331,  May
  665.      1992.
  666.  
  667. [3]  Lloyd, B., Simpson, W., "PPP Authentication Protocols",
  668.      Networking Working Group, RFC-1334
  669.  
  670. [4]  Bradley, T., Brown, C., and Malis,  A.,  "Multiprotocol
  671.      Interconnect  over Frame Relay", Network Working Group,
  672.      RFC-1294, January 1992.
  673.  
  674. [5]  Malis, A.,  Robinson,  D.,  Ullman  R.,  "Multiprotocol
  675.      Interconnect on X.25 and ISDN in the Packet Mode", Net-
  676.      work Working Group, RFC-1356, August 1992.
  677.  
  678. [6]  Sklower, K. and Frost, C.  "Determination of Encapsula-
  679.      tion  of  Multi-protocol  Datagrams in Circuit-switched
  680.      Environments",   IPLPDN   Working   Group,    Committee
  681.  
  682.  
  683. Sklower                                    [Page 11]
  684.  
  685.  
  686.  
  687. Draft                 Simple Multilink             June 1993
  688.  
  689.  
  690.      Document, February 1993.
  691.  
  692. [7]  Sklower, K.  "Parameter Negotiation for the Multiproto-
  693.      col Interconnect" IPLPDN Working Group, Committee Docu-
  694.      ment, November 1992.
  695.  
  696. [8]  Boland,  F.,  editor, "Stable Implementation Agreements
  697.      for Open Systems Interconnection Protocols:  Version  2
  698.      Edition  1",  NIST  Workshop  for  Implementors of OSI,
  699.      NIST, February 1989.
  700.  
  701. [9]  Internation Organisation for Standardization,  "HDLC  -
  702.      Description  of  the X.25 LAPB-Compatible DTE Data Link
  703.      Procedures", Internation Standard 7776, 1988
  704.  
  705. 11.  Author's Address
  706.  
  707. Keith Sklower
  708. Computer Science Department
  709. 570 Evans Hall
  710. University of California
  711. Berkeley, CA  94720
  712.  
  713. Phone:  (510) 642-9587
  714. E-mail:  sklower@cs.Berkeley.EDU
  715.  
  716. 12.  Expiration Date of this Draft
  717.  
  718. December 31, 1993
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745. Sklower                                    [Page 12]
  746.  
  747.